package com.yangguang.huahui.api;

import com.yangguang.huahui.Config;
import com.yangguang.huahui.entity.ChatMessage;
import com.yangguang.huahui.entity.ChatStatus;
import com.yangguang.huahui.entity.ChatUser;
import com.yangguang.huahui.entity.Contact;
import com.yangguang.huahui.entity.FeedList;
import com.yangguang.huahui.entity.HttpResult;

import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
import rx.Observable;

/**
 * Created by Administrator on 2017/3/14.
 */

public interface NewsApi {
    @GET(Config.CHAT_INFO)
    Observable<ChatUser> getInfo(@Query("forid") String forid, @Query("toid") String toid);

    @FormUrlEncoded
    @POST(Config.OTHER_MSG)
    Observable<HttpResult> sendMsg(@Field("for_uid") String for_uid, @Field("to_uid") String to_uid, @Field("msg") String msg);
    @FormUrlEncoded
    @POST(Config.CHATFEEDBACK)
    Observable<HttpResult> sendFeedMsg(@Field("uid") String uid, @Field("to_uid") String To_uid, @Field("projectId") String projectId,
                                       @Field("type") String type, @Field("msg") String msg);

    @GET(Config.CHAT_MSG_LIST)
    Observable<ChatMessage> getChatList(@Query("uid") String uid);

    @GET(Config.CHAT_STATUS)
    Observable<ChatStatus> getChatStatus(@Query("for_uid") String for_uid, @Query("to_uid") String to_uid, @Query("id") String id);

    @FormUrlEncoded
    @POST(Config.OPERATING)
    Observable<ChatStatus> addFriends(@Field("for_uid") String for_uid, @Field("to_uid") String to_uid, @Field("id") String id, @Field("type") String type);

    @GET(Config.CONTACT_LIST)
    Observable<Contact> getFriends(@Query("uid") String uid, @Query("keywords") String keywords);

    @FormUrlEncoded
    @POST(Config.DELETE_CONTACT)
    Observable<HttpResult> delete_friend(@Field("for_uid") String for_uid, @Field("to_uid") String to_uid);

    /**
     * 反馈列表
     * @param uid
     * @param type 1 采购 ，2 供应
     * @return
     */
    @GET(Config.FEED_LIST)
    Observable<FeedList> getFeedList(@Query("uid") String uid, @Query("type") int type);
}
